// 定义一个HTTP的类
import { config } from '../config.js'

//定义错误提示
const tips = {
    1: '抱歉，出现了一个错误',//默认错误码
    1005: 'appkey无效',
    3000: '期刊不存在'
}
class HTTP {
    // 定义方法
    request(params) {
        // if(!params.method){
        //     params.method="GET"
        // }
        wx.request({
            url: config.api_base_url + params.url,
            method: params.method || "GET",
            data: params.data,
            header: {
                'content-type': 'application/json',
                'appkey': config.appkey
            },
            success: (res) => {
                let code = res.statusCode.toString()
                //状态码以2开头 请求的数据会在params回调函数传回
                if (code.startsWith('2')) {
                    //判断success返回是否为空 有值才执行回调传回数据  预防后面报错
                    params.success && params.success(res.data)
                }
                else {
                    // 服务器异常
                    let error_code = res.data.error_code
                    this._show_error(error_code)
                }
            },
            fail: (err) => {
                // api调用失败
                this._show_error(1)
            }
        })
    }
    //显示错误提示的方法
    _show_error(error_code) {
        wx.showToast({
            title: tips[error_code] || 1,
            icon: 'none',
            duration: 2000
        })
    }
}

export { HTTP }